Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

249
Views
¿Qué es esta estructura en javascript return({object}={})=>{more code}?

Estoy tratando de entender qué está haciendo este código, es de un nodejs. No entiendo qué está haciendo esta estructura.

return({objeto}={})=>{más código}

puede encontrar el repositorio aquí: https://github.com/howardmann/clean-node/blob/master/models/teacher/teacher.js

 let buildMakeTeacher = function(teacherValidator) { return ({ name, subject, tenure = false } = {}) => { let {error} = teacherValidator({name, subject, tenure}) if (error) throw new Error(error) return { getName: () => name, getSubject: () => subject, isTenure: () => tenure } } }

about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

Además de la respuesta de @Sarkar, la cantidad de llaves aquí puede sorprenderlo. El punto de otros (que no declaran un alcance) es la desestructuración de objetos . rompiendo:

 let {error} = teacherValidator({name, subject, tenure})

Esta línea toma el objeto devuelto por teacherValidator y extrae una clave llamada error de él. Si devolvió, digamos, {error: 'Fail', errorcode: 1} , entonces error se asigna a 'Fail' .

 return ({ name, subject, tenure = false } = {}) => { doSomething(); }

Esto crea una función anónima con un manejo de argumentos complejo. Es (al llamar a resultado, la implementación debe diferir) equivalente a:

 return function(params={}) { let {name, subject, tenure=false} = params; doSomething(); }

Esta función:

  • Cuando se llama sin argumentos, tiene parámetros establecidos en objeto vacío;
  • Cuando se llama con un argumento, extrae las claves de name y subject ( undefined si no está presente) y la clave de tenure ( false si falta).
  • Realiza alguna acción con estos argumentos (comprueba el error y devuelve el objeto con 3 funciones anónimas como captadores)
about 4 years ago · Juan Pablo Isaza Report

0

es una funcion anonima

este

 (object)=>{more code}

es equivalente a esto

 function functionName(object){ moreCode }

su ejemplo de código es una función llamada buildMakeTeacher que devuelve una función anónima que devuelve un objeto

about 4 years ago · Juan Pablo Isaza Report

0

Lea sobre el cierre y curry un poco le dará una mejor perspectiva.

Pero básicamente eso significa que esta función devuelve una nueva función que devuelve un objeto con acciones invocables.

Así que para llamarlo deberías hacer algo como buildMakeTeacher(someValidstor)({name: “foo”, subject: “bar”}).getSubject()

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!